
Discover how Shiny for Python provides a simple, modular web application framework with Python only, featuring reactive data handling, no HTML or JavaScript needed, and easy deployment.
Understand the course scope, setup, and structure, including introduction and two app development sections overall. Explore deployment options, data preparation, front-end and back-end work, and reactive expressions.
Meet Pat Koenig, the instructor behind this course, and learn about his background in aerospace engineering and economics. He highlights his data science work with Python, SQL, Flutter, and HTML.
Set up your system with an Anaconda backend and conda environment, and code in Visual Studio Code. Learn to manage packages in a common environment for shiny applications.
Clone the shiny for Python material repository from GitHub, set up a local conda environment from the environment.yaml, activate it, install required extensions, and verify installed packages to start coding.
Learn the high level structure of a shiny app, including output widgets, input widgets like sliders, and static content, plus how the UI and server drive data and interactivity.
Build your first shiny for python app in vs code, wiring a ui slider to a server function that outputs the input doubled using an f-string.
Learn to run the Shiny for Python web server in two ways—via the extension with an API named API or with shiny run --reload at localhost 107.0.0.1:8000.
Explore layout options in shiny for python ultimate, including side bar layouts and bootstrap-style rows and columns. Navigate tabs, pills, lists, cards, and menus with conditional panels and notifications.
Learn about control widgets in Shiny for Python, covering buttons, checkboxes, radio buttons, select box, date range, file input, numeric input, text input, and range sliders for capturing user input.
Learn to create and connect Shiny for Python input widgets—sliders, checkboxes, text inputs, date pickers, checkbox groups, radio buttons, and date ranges—and fetch user selections via the app API.
Learn how to build a completely reactive app where user inputs drive outputs, avoid duplicating calculations, and leverage reactive values, reactive calculations, and outputs with decorators.
Learn to implement reactivity in a Python Shiny app by defining a reactive function and reusing it across outputs for faster, cleaner updates.
Build your first Shiny for Python web app with two input widgets and a date range, plus a graph that updates from user selections, illustrating data preparation.
Prepare data for languages app by loading Kaggle dataset 'Most Popular Programming Languages since 2004', creating a date column, reshaping to long format, plan front end and back end work.
Implement the web front end by configuring input selectors for languages and a date range, organizing a sidebar layout with a time-series plot to visualize multiple languages.
Build a backend workflow to generate a time-series plot of language popularity, filtering by selected languages and date range, with reactive calculations for interactive updates.
Create a climate data app with a country dropdown and year selector, showing a temperature line graph and a world heatmap for the chosen year, plus imprint, images, and links.
Start building a climate change app by linking a country dropdown and year input to show temperature changes, a country graph, and a color-coded world map.
Import data with pandas and prepare deployment-ready paths using powerflip. Build interactive inputs by extracting unique countries and year values from the temperatures data frame for a dropdown and slider.
Learn to adjust typography in the frontend by defining a font style in CSS, applying font weight to headers, and streamline the app layout using rows and columns.
Explore frontend layout in Shiny for Python by building rows and columns with 12-column width, adding inputs like country selectors and year sliders, and configuring map and output widgets.
Learn to build a two-column frontend section with an imprint, including a title, text, and style, and add a right-side image plus icons for the developer, location, and email.
Wrap the image in an anchor tag with an href to the course homepage to create a clickable link and hover cue, then center the image using a style parameter.
Link static content by specifying the static assets directory, using the www directory as default, and build the frontend with input widgets, icons, images, and hyperlinks.
Implement the backend map feature by initializing a world map with Leaflet, adding a bottom-left scale, and linking it to input widgets; update the map zoom reactively as year changes.
Develop a leaflet choropleth map backend that iterates over countries, extracts temperatures by year from a reactive input, builds a gabled JSON object layer, and configures color map and borders.
Define a backend temperature plot for the selected country, filtering temperatures by country and year, and render a graph with year on the horizontal axis, temperatures, and average annotations.
Implement an asynchronous progress bar around the graph that updates with year and country changes, using ui dot progress with a minimum value and messages like calculation in progress.
Implement the color map widget at the top right by defining it in the server function and rendering a dynamic image at runtime with render ui and output ui.
Explore practical deployment options for a python-based shiny app, including GitHub Pages, Shiny Live with Gist, Post Connect, and Shiny App Studio, with data confidentiality and cost considerations.
Deploy your app quickly with shinylive and a GitHub gist by embedding the gist ID in the deployment URL. Data becomes public, so consider GitHub pages as an alternative.
Explore how WebAssembly runs Python in the browser, eliminating the need for a dynamic web server and shipping the Python distribution with static files.
Learn how to deploy a Python web app with GitHub Pages using WebAssembly, exporting to a docs subfolder, and configuring Pages to publish the site.
Learn how to deploy a climate change app to GitHub Pages by exporting to the docs folder, pushing to master, and configuring Pages to host the interactive web app.
Deploy your app with Posit Connect by bundling dependencies into a requirements.txt file, selecting a Python environment, creating a manifest, pushing to GitHub, and publishing from Git.
Plan with deployment pipelines in mind to avoid Webassembly deployment pitfalls and verify package availability on platforms like Edit and GitHub pages to prevent rework.
Conclude the course with thanks and stay connected through LinkedIn, homepage, phone, or email, while exploring additional courses in data layer, git, sql, r, python, data science, and machine learning.
With Shiny for Python you can create dynamic and interactive web applications using only Python! This comprehensive course is designed specifically for beginners who want to dive into the world of web development using Python as their main tool.
The course will cover everything from the basics of web development (covering user input, creating outputs) with the Python package Shiny for Python to advanced topics such as interactive maps or progress bars. You will also learn how to deploy your web applications via different options.
Throughout the course, you'll work on real-world projects that will give you hands-on experience and help you put your new skills into practice. Whether you're looking to start a new career in web development or simply want to build your own personal projects, this course is the perfect starting point.
With expert instructors, small exercises, and practical projects, this online course is the ultimate guide to building web applications with Python. Sign up today and take the first step towards becoming a skilled Python web developer!
Content
Understand how to develop a web application with Shiny
App Structure
Layout
Control Widgets
Reactivity
Develop an app on Popular Programming Languages
fetching user input
create an interactive app
Develop an app on Climate Change
incl. progress bar
interactive map
static content like icons
styling the app
adding images
Learn about different deployment options, e.g.
shinylive and GitHub Gist
WebAssembly
GitHub Pages
Posit Connect
shinyapps